Tabular Notations for State Machine-Based Specifications
نویسندگان
چکیده
T term reactive system describes a system that needs to continuously react to inputs coming from the environment. Finite state machines are a widely used concept for specifying the behavior of such systems. Since finite state machines allow the rigorous capture of functional aspects of system behavior, they offer several advantages over informal specifications. For example, they provide the ability to automatically generate code or test cases, and they enable formal verification and validation (V&V). Generally, a finite state machine is an appropriate representation when a problem or solution has the following characteristics: • Finite and discrete set of states (e.g., on, off, and standby). • Discrete and manageable set of inputs. • Change of state is only performed in response to an input (e.g., if a button is pressed, then the machine transitions from state off to state on). State machines are used for specifying functional properties for a wide variety of systems, such as control systems and user interfaces. For example, Siemens uses state machines to precisely specify the circuitry in mail sorting systems and the controls in car radios. They are also the paradigm of choice for software compiler design and programmatic interpretation of natural language. Numerous graphical notations for state machines have been developed and are commonly used today, such as state transition diagrams, Harel statecharts [1], and UML state machine diagrams [2]. Graphical notations are often preferred by developers, analysts, and testers over textual information, since diagrams allow the visualization of complex relationships. Tabular notations for state machines (commonly also referred to as state tables or state transition tables) offer complementary advantages to these graphical notations. For example, the incompleteness of a specification, i.e., the actions of the system in a specific state in response to a specific event that are not addressed by the specification, can easily be identified as empty cells in the table. In addition, tabular notations are relatively compact and have shown to scale well to practical systems [3]. Due to these reasons, tabular notations for state machines are preferred in some domains over graphical notations for the rigorous specification of system behavior. For instance, Siemens Automotive commonly receives system requirements in the form of state tables, captured in either Excel sheets or proprietary databases. While a tabular representation is relatively compact and the completeness of the requirements specification can easily be determined, it has been shown to cause numerous difficulties. For instance, the requirements specification for a system of realistic size is often quite large and of considerable complexity, consisting of numerous large tables. As a result, precisely understanding the required behavior solely through visual inspection is difficult. Moreover, requirements captured in simple Excel sheets are difficult to analyze for consistency and adherence to critical properties. This article presents and evaluates several state machine-based tabular notations that can address some of the aforementioned problems. For instance, some notations enhance the understandability of the specification by offering a complementary graphical representation. In addition, hierarchical composition is used by several notations to keep the specification tractable and some provide tool support for V&V. The remainder of this article is organized as follows: the Background section provides an overview of finite state machines and Harel statecharts. The Tabular Notations for State Machines section describes five approaches using tabular notations for state machine-based specifications. We conclude by evaluating these notations for use in software development with respect to several factors.
منابع مشابه
Applying infinite state model checking and other analysis techniques to tabular requirements specifications of safety-critical systems
Although it is most often applied to finite state models, in recent years, symbolic model checking has been extended to infinite state models using symbolic representations that encode infinite sets. This paper investigates the application of an infinite state symbolic model checker called Action Language Verifier (ALV) to formal requirements specifications of safety-critical systems represente...
متن کاملA Hybrid State Machine Notation for Component Specification
A wide range of software units can be classified as state machines. We extend conventional state machine notations by adding regular expressions of events and unions of source states to state machine transitions. Reusable software components are generated from these extended state machine specifications. Component specification and generation are illustrated in Java.
متن کاملDescribing and Analyzing Behaviours over Tabular Specifications Using (Dyn)Alloy
We propose complementing tabular notations used in requirements specifications, such as those used in the SCR method, with a formalism for describing specific, useful, subclasses of computations, i.e., particular combinations of the atomic transitions specified within tables. This provides the specifier with the ability of driving the execution of transitions specified by tables, without the on...
متن کاملTools for constructing requirements specifications: the SCR Toolset at the age of nine
The need for unambiguous, easy-to-understand notations for specifying and analyzing the requirements of systems is widely recognized. Tables have been demonstrated to offer a precise, relatively compact notation for specifying system requirements in a wide range of applications, including avionics systems, systems for controlling nuclear power plants, and telephone networks (see, for example, [...
متن کاملTools for constructing requirements specifications: The SCR toolset at the age of ten
The need for unambiguous, easy-to-understand notations for specifying and analyzing the requirements of systems is widely recognized. Tables have been demonstrated to offer a precise, relatively compact notation for specifying system requirements in a wide range of applications, including avionics systems, systems for controlling nuclear power plants, and telephone networks (see, for example, [...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008